An Introduction to Reeection-oriented Programming
نویسندگان
چکیده
Most accounts of re ection are in an interpreted framework and tend to assume the availability of particular pieces of the state of a program's interpretation, including the current source code expression. This paper presents a computational account of re ection, drawing a distinction between the meta-level manipulation of data or control and the mere availability of meta-circular implementation details. In particular, this account does not presume the existence of program source code at runtime. The paper introduces a programming paradigm that relies on re ective language features and draws on the power of object-oriented programming. Several examples of the use of these features are provided, along with an explanation of a translation-based implementation. The examples include the measurement of computational expense, the introduction of rst-class continuations, and the modi cation of the semantics of expressed values, all in the framework of re ection-oriented programming.
منابع مشابه
Aspect-oriented Programming versus Reeection: a Rst Draft
Reeection has a long history of dealing about some aspects of software components. In this short position paper, we compare and contrast reeection and aspect-oriented programming. Whilst reeection has recently focused on very speciic aspects of software components, namely implemen-tational usually segregated among structural (representation) and behavioral (execution) aspects, aspect-oriented p...
متن کاملBehavioral Re ection in a Prototype-Based Language
In MCD92], we have contributed a reeective model for a prototype-based language based on the lookup apply re-ective introspection protocol. Here, we pursue this work by including a reiication of continuations. Hence, we provide continuations as rst-class objects and convert our previous protocol to handle them. First-class continuations provide much more control over the current computation. Al...
متن کاملDebugging by Remote Reeection
Reeection in an object-oriented system allows the structure of objects and classes to be queried at run-time, thus enabling \meta-object" programming such as program debugging. Remote Reeection allows objects in one address space to reeect upon objects in a diierent address space. Used with a debugger, remote reeection makes available the full power of object-oriented reeection even when the ob...
متن کاملSubmission to Oopsla 2000 Workshop on Advanced Separation of Concerns in Object-oriented Systems Concern Oriented Programming Using Reeection
Building softwares in a concern oriented fashion can be splited in two main steps : rst deening each concern separately (or reusing existing ones) and then composing (i.e. integrating) those concerns together. Among existing approaches to support this development scheme, we are interested in reeection. This interest is particularly motivated by the natural separation between functional and non-...
متن کاملUsing Reeection for Implementing Icom, an Interoperable Common Object Model
Reuse of already developed object-oriented software components is reduced when software is written in diierent object-oriented languages, or when it is not easy to relocate the software components from one machine to another machine. Software development in a distributed and heterogeneous environment is a solution to this problem. Several common object models have been deened for software devel...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1996